home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Meeting Pearls 4
/
Meeting Pearls Vol. IV (1996)(GTI - Schatztruhe)[!].iso
/
Pearls
/
text
/
faq
/
bonus
/
faq_report.rexx
< prev
next >
Wrap
OS/2 REXX Batch file
|
1996-10-07
|
2KB
|
87 lines
/* ARexx script
for :Pearls/text/FAQ on CD "Meeting Pearls III"
scanning and reporting
$VER: faq_report.rexx 1.3 (08.10.96) ©1995, 96 Khamsonh Marcel Khounlivong
*/
OPTIONS RESULTS
PARSE ARG unit .
SIGNAL OFF error
SIGNAL OFF failure
SIGNAL ON break_c
CALL AddLib('rexxsupport.library',5,-30)
unit = Strip(unit)
IF Word(StateF(unit),1) == DIR THEN DO
sdir = Strip(Strip(unit),t,'/')'/'
/* SAY 'Creating filelist' */
ADDRESS command 'List >temp ALL FILES LFORMAT %p%n "'sdir'"'
unit = 'temp'
END
filelist = Strip(Strip(unit),t,'/')
IF ~Open(fin,filelist,r) THEN DO
SAY 'Keywordlist-Open-Error'
EXIT 20
END
/* SAY 'Striping files from' keywordlist '...' */
DO FOREVER
file = ReadLn(fin)
IF (Eof(fin) & (file == '')) THEN LEAVE
faq = Word(file,Words(file))
CALL report_file
END
report_file:
arcname = ""
arcnames = "Archive-Name: Archive-name:"
date = ""
dates = "Date:"
log = ""
string = ""
months = "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec"
days = "Mon Tue Wed Thu Fri Sat Sun"
IF ~open(file,faq,r) THEN log = '' || faq "can't open"
ELSE DO
CALL scan_word
CALL scan_word
CALL Close(file)
/* easy date format TO use an equalation */
IF (Find(days,Strip(Word(date,1),,',')) ~= 0) THEN
date = SubStr(date, WordIndex(date,2))
day = Right(Word(date,1),2,'0')
month = Right(Find(months,Word(date,2)),2,'0')
year = Right(Word(date,3),2)
IF (arcname ~= "" & date ~= "") THEN
SAY Left(arcname,60) year || month || day faq
ELSE SAY ''faq "missing keywords (date or archive name)"
END
RETURN
scan_word:
DO UNTIL (string ~= "")
string = ReadLn(file)
END
DO WHILE (string ~= "")
string = Translate(string,' ','09'x)
IF (arcname ~= "" & date ~= "") THEN LEAVE
first = Strip(Word(string,1))
SELECT
WHEN (Find(arcnames, first) ~= 0) THEN
arcname = SubStr(string,WordIndex(string,2))
WHEN (Find(dates, first) ~= 0) THEN
date = SubStr(string,WordIndex(string,2))
OTHERWISE ;
END
string = ReadLn(file)
END
RETURN